package com.kefu.chat.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

/**
 * @author CodeGenerator
 * @date 2021/04/28
 */
@Data
@TableName(value="chat_rpt_admin_work")
@ApiModel(description = "客服工作量统计")
public class ChatRptAdminWork implements Serializable {
    /**
     * 主键
     */
    
    @NotEmpty
    @ApiModelProperty(value = "主键")
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 租户
     */
    @ApiModelProperty(value = "租户")
    private String tenantId;

    /**
     * 客服
     */
    @ApiModelProperty(value = "客服")
    private String adminId;

    /**
     * 日期
     */
    @ApiModelProperty(value = "日期")
    private String resultDate;

    /**
     * 小时
     */
    @ApiModelProperty(value = "小时")
    private String resultHour;

    /**
     * 接待的会话数
     */
    @ApiModelProperty(value = "接待的会话数")
    private int acceptCount;

    /**
     * 在线时长，秒
     */
    @ApiModelProperty(value = "在线时长，秒")
    private int onlineStatusDuration;

    /**
     * 忙碌时长，秒
     */
    @ApiModelProperty(value = "忙碌时长，秒")
    private int busyStatusDuration;

    /**
     * 客服首次响应时间，秒
     */
    @ApiModelProperty(value = "客服首次响应时间，秒")
    private int firstReplyDuration;

    /**
     * 客服平均响应时间，秒
     */
    @ApiModelProperty(value = "客服平均响应时间，秒")
    private int avgReplyDuration;

    /**
     * 服务总结
     */
    @ApiModelProperty(value = "服务总结")
    private int summaryCount;

    /**
     * 服务总结解决
     */
    @ApiModelProperty(value = "服务总结解决")
    private int summarySolve;

    /**
     * 人工评价
     */
    @ApiModelProperty(value = "人工评价")
    private int adminEvaluate;

    /**
     * 人工评价解决
     */
    @ApiModelProperty(value = "人工评价解决")
    private int adminSolve;

    /**
     * 客服1星评价
     */
    @ApiModelProperty(value = "客服1星评价")
    private int adminStar1;

    /**
     * 客服2星评价
     */
    @ApiModelProperty(value = "客服2星评价")
    private int adminStar2;

    /**
     * 客服3星评价
     */
    @ApiModelProperty(value = "客服3星评价")
    private int adminStar3;

    /**
     * 客服4星评价
     */
    @ApiModelProperty(value = "客服4星评价")
    private int adminStar4;

    /**
     * 客服5星评价
     */
    @ApiModelProperty(value = "客服5星评价")
    private int adminStar5;

    /**
     * 客服消息数
     */
    @ApiModelProperty(value = "客服消息数")
    private int adminMsgCount;

    /**
     * 用户给客服发消息数
     */
    @ApiModelProperty(value = "用户给客服发消息数")
    private int userAdminMsgCount;

    @ApiModelProperty(value = "客服名字")
    private transient String adminName;

    @ApiModelProperty(value = "客服状态：0离线，1在线，2忙碌")
    private transient Integer statusType;

    @ApiModelProperty(value = "状态时间")
    private transient Long statusTime;

    @ApiModelProperty(value = "用户给客服发过消息的会话数量(人工有效会话数)")
    private int userSendToAdmin;

    @ApiModelProperty(value = "客服给用户发过消息的会话数量(不计算系统发送的客服欢迎语)")
    private int adminSendToUser;

    @ApiModelProperty(value = "转接会话数")
    private int transferCount;

    @ApiModelProperty(value = "会话总时长，秒")
    private int totalTime;
    
    @ApiModelProperty(value = "状态1，秒")
    private int status1Duration;
    @ApiModelProperty(value = "状态2，秒")
    private int status2Duration;
    @ApiModelProperty(value = "状态3，秒")
    private int status3Duration;
    @ApiModelProperty(value = "状态4，秒")
    private int status4Duration;
    @ApiModelProperty(value = "状态5，秒")
    private int status5Duration;
    @ApiModelProperty(value = "状态6，秒")
    private int status6Duration;
    @ApiModelProperty(value = "状态7，秒")
    private int status7Duration;
    @ApiModelProperty(value = "状态8，秒")
    private int status8Duration;
    @ApiModelProperty(value = "状态9，秒")
    private int status9Duration;

    private static final long serialVersionUID = 1L;
}